// pages/share/share.js
const app = getApp();
const config = app.globalData.config;
const util = app.globalData.util;
Page({

  /**
   * 页面的初始数据
   */
  data: {
    index: 0,
    param: {},
    shareQrImg: '../../images/qrcode_index.png', //分享小程序二维码
    sharebg: '../../images/1.png', // 分享底部背景图
    userInfo: null
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    var that = this
    var {
      index,
      param
    } = options
    // index = 1;
    // param = '{}'
    var userInfo = wx.getStorageSync('sUserInfo');
    that.setData({
      userInfo: userInfo,
      index: index,
      param: JSON.parse(param)
    })
    if (index == '1') {
      this.downloadImg();
    } else {
      this.indexImg();
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  },
  indexImg: function() {
    let that = this;
    // 创建画布
    const ctx = wx.createCanvasContext('shareCanvas')
    // 白色背景
    ctx.setFillStyle('#fafafa')
    ctx.fillRect(0, 0, 300, 400)
    ctx.drawImage(that.data.shareQrImg, 0, 40, 300, 300)
    ctx.draw()
  },
  //定义的保存图片方法
  downloadImg: function() {
    let that = this;
    // 创建画布
    const ctx = wx.createCanvasContext('shareCanvas')
    // 白色背景
    ctx.setFillStyle('#fafafa')
    ctx.fillRect(0, 0, 300, 400)
    //头像
    ctx.save() //保存当前的绘图上下文。
    ctx.beginPath() //开始创建一个路径
    ctx.arc(150, 35, 20, 0, 2 * Math.PI, false)
    ctx.setStrokeStyle('#999')
    ctx.stroke();
    ctx.clip()
    ctx.drawImage(that.data.userInfo.wxPhoto, 130, 15, 40, 40)
    ctx.restore() //恢复之前保存的绘图上下文
    // 昵称
    ctx.setTextAlign('center')
    ctx.setFillStyle('#333')
    ctx.setFontSize(12)
    ctx.fillText(that.data.userInfo.wxName + '，邀你遇见小确幸~', 150, 75)
    //封面
    wx.getImageInfo({
      src: that.data.param.coverPhoto,
      success(res) {
        ctx.drawImage(res.path, 20, 85, 260, 145)
        //截至日期
        ctx.setTextAlign('center')
        ctx.setFillStyle('#333')
        ctx.setFontSize(14)
        ctx.fillText(that.data.param.openTime + ' 截止', 150, 225)
      }
    })
    ctx.setTextAlign('left')
    ctx.setFontSize(14)
    //主题
    ctx.fillText(that.data.param.title, 25, 250)

    //生成二维码
    wx.request({
      url: config.buildShareUrl,
      data: {
        scene: that.data.param.activityId + '&' + that.data.param.userId,
        path: that.data.param.path,
        width: 100,
        is_hyaline: true
      },
      header: {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      method: 'GET',
      success: function(res) {
        var qrcode = res.data.data
        var arr_qrcode = wx.base64ToArrayBuffer(qrcode)
        var fsm = wx.getFileSystemManager();
        var temp_img = wx.env.USER_DATA_PATH + '/qrcode.png';
        console.log(temp_img);
        fsm.writeFile({
          filePath: temp_img,
          data: qrcode,
          encoding: 'base64',
          success(e) {
            ctx.drawImage(temp_img, 100, 260, 100, 100)
            ctx.draw(true)
          },
          fail(e) {
            console.log(e)
          }
        })

      },
      fail: function(res) {},
      complete: function(res) {},
    })

    // 提示文字
    ctx.setTextAlign('center')
    ctx.setFillStyle('#999')
    ctx.setFontSize(12)
    ctx.fillText('长按识别小程序', 150, 380)
    ctx.draw(true)
  },
  onSave() {
    // 保存到相册
    wx.canvasToTempFilePath({
      canvasId: 'shareCanvas',
      success: function(res) {
        wx.saveImageToPhotosAlbum({
          filePath: res.tempFilePath,
          success: function(res) {
            wx.showToast({
              title: '已保存到相册',
              icon: 'none'
            })
          }
        })
      }
    }, this)
  }
})